/*
 * Powered By cmrh
 * Web Site: http://www.cmrh.com
 * Since 2010 - 2011
 */

package com.fire.eyes.request.element;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

/**
 * 投保单险种信息表DTO
 *reqData 请求信息
 * @author Aspire
 * @date 2018-04-18
 */
public class ApplyProductDTO implements java.io.Serializable {
    private static final long serialVersionUID = 5454155825314635342L;

    /**
     * 产品序号
     */
    private Integer prodSeq;
    /**
     * 产品编码
     */
    private ProductCodeDTO productCode;

    /**
     * 主附险标志
     */
    private String isPrimaryPlan;

    /**
     * 被保人
     */
    private List<ClientInformationDTO> insuredClientList;

    /**
     * 缴费方式信息
     */
    private PremFrequencyDTO premFrequency;

    /**
     * 缴费期限类型
     */
    private PremPeriodTypeDTO premPeriodType;
    /**
     * 缴费年期
     */
    private Integer premPeriod;
    /**
     * 保障期类型
     */
    private CoverPeriodTypeDTO coverPeriodType;
    /**
     * 保障年期
     */
    private Integer coverPeriod;

    /**
     * 给付开始类型*
     */
    private PayStartTypeDTO payStartType;
    
    /**
     * 给付频度
     */
    private PayFrequencyDTO payFrequency;
    /**
     * 给付类型
     */
    private PayTypeDTO payType;
   
    /**
     * 给付期间类型
     */
    private PayPeriodTypeDTO payPeriodType;
   

    /**
     * 份数
     */
    private BigDecimal unitInsured;
    /**
     * 保额
     */
    private BigDecimal sumInsured;
    
    /**
     *保 费
     */
    private BigDecimal premium;
    
    /**
     * 保费折扣
     */
    private BigDecimal premDiscount = new BigDecimal(1.0);

  
    /**
     * 产品组合代码
     */
    public String combinationCode;
    /**
     * 组合包
     */
    private String programmeCode;

    /**
     * 自动续保标志
     */
    private String isRenewal;
   
   

    public ApplyProductDTO() {
        productCode = new ProductCodeDTO();
        premFrequency = new PremFrequencyDTO();
        premPeriodType = new PremPeriodTypeDTO();
        coverPeriodType = new CoverPeriodTypeDTO();
        payStartType = new PayStartTypeDTO();
        payFrequency = new PayFrequencyDTO();
        payType = new PayTypeDTO();
        payPeriodType = new PayPeriodTypeDTO();
        insuredClientList = new ArrayList<ClientInformationDTO>();
    }

    public List<ClientInformationDTO> getInsuredClientList() {
        return insuredClientList;
    }

    public void setInsuredClientList(List<ClientInformationDTO> insuredClientList) {
        this.insuredClientList = insuredClientList;
    }

    public ApplyProductDTO(java.lang.String applyNo, Integer prodSeq) {
        this.prodSeq = prodSeq;
    }

    public Integer getProdSeq() {
        return this.prodSeq;
    }

    public void setProdSeq(Integer value) {
        this.prodSeq = value;
    }

    public java.lang.String getIsPrimaryPlan() {
        return this.isPrimaryPlan;
    }

    public void setIsPrimaryPlan(java.lang.String value) {
        this.isPrimaryPlan = value;
    }

    public Integer getPremPeriod() {
        return this.premPeriod;
    }

    public void setPremPeriod(Integer value) {
        this.premPeriod = value;
    }

    public Integer getCoverPeriod() {
        return this.coverPeriod;
    }

    public void setCoverPeriod(Integer value) {
        this.coverPeriod = value;
    }

    public BigDecimal getUnitInsured() {
        return this.unitInsured;
    }

    public void setUnitInsured(BigDecimal value) {
        this.unitInsured = value;
    }

    public BigDecimal getSumInsured() {
        return this.sumInsured;
    }

    public void setSumInsured(BigDecimal value) {
        this.sumInsured = value;
    }

  


    public ProductCodeDTO getProductCode() {
        return productCode;
    }

    public void setProductCode(ProductCodeDTO productCodeDTO) {
        this.productCode = productCodeDTO;
    }

    public PremFrequencyDTO getPremFrequency() {
        return premFrequency;
    }

    public void setPremFrequency(PremFrequencyDTO premFrequencyDTO) {
        this.premFrequency = premFrequencyDTO;
    }

    public PremPeriodTypeDTO getPremPeriodType() {
        return premPeriodType;
    }

    public void setPremPeriodType(PremPeriodTypeDTO premPeriodTypeDTO) {
        this.premPeriodType = premPeriodTypeDTO;
    }

    public CoverPeriodTypeDTO getCoverPeriodType() {
        return coverPeriodType;
    }

    public void setCoverPeriodType(CoverPeriodTypeDTO coverPeriodTypeDTO) {
        this.coverPeriodType = coverPeriodTypeDTO;
    }

    public PayStartTypeDTO getPayStartType() {
        return payStartType;
    }

    public void setPayStartType(PayStartTypeDTO payStartTypeDTO) {
        this.payStartType = payStartTypeDTO;
    }

    public PayFrequencyDTO getPayFrequency() {
        return payFrequency;
    }

    public void setPayFrequency(PayFrequencyDTO payFrequencyDTO) {
        this.payFrequency = payFrequencyDTO;
    }

    public PayTypeDTO getPayType() {
        return payType;
    }

    public void setPayType(PayTypeDTO payTypeDTO) {
        this.payType = payTypeDTO;
    }

    public PayPeriodTypeDTO getPayPeriodType() {
        return payPeriodType;
    }

    public void setPayPeriodType(PayPeriodTypeDTO payPeriodTypeDTO) {
        this.payPeriodType = payPeriodTypeDTO;
    }

    public BigDecimal getPremDiscount() {
        return premDiscount;
    }

    public void setPremDiscount(BigDecimal premDiscount) {
        this.premDiscount = premDiscount;
    }

    public String getProgrammeCode() {
        return programmeCode;
    }

    public void setProgrammeCode(String programmeCode) {
        this.programmeCode = programmeCode;
    }

    public String getCombinationCode() {
        return combinationCode;
    }

    public void setCombinationCode(String combinationCode) {
        this.combinationCode = combinationCode;
    }

    public String getIsRenewal() {
        return isRenewal;
    }

    public void setIsRenewal(String isRenewal) {
        this.isRenewal = isRenewal;
    }


    public BigDecimal getPremium() {
		return premium;
	}

	public void setPremium(BigDecimal premium) {
		this.premium = premium;
	}

	@Override
    public String toString() {
        return "ApplyProductDTO{" +
                "prodSeq=" + prodSeq +
                ", productCode=" + productCode +
                ", isPrimaryPlan='" + isPrimaryPlan + '\'' +
                ", insuredClientList=" + insuredClientList +
                ", premFrequency=" + premFrequency +
                ", premPeriodType=" + premPeriodType +
                ", premPeriod=" + premPeriod +
                ", coverPeriodType=" + coverPeriodType +
                ", coverPeriod=" + coverPeriod +
                ", payStartType=" + payStartType +
                ", payFrequency=" + payFrequency +
                ", payType=" + payType +
                ", payPeriodType=" + payPeriodType +
                ", unitInsured=" + unitInsured +
                ", sumInsured=" + sumInsured +
                ", premium=" + premium +
                ", premDiscount=" + premDiscount +
                ", combinationCode='" + combinationCode + '\'' +
                ", programmeCode='" + programmeCode + '\'' +
                ", isRenewal='" + isRenewal + '\'' +
                '}';
    }
}
